1. Field of the Invention
The invention relates to the field of printing systems and, in particular, to transform processes that segment print jobs into work units having multiple logical pages.
2. Statement of the Problem
Printing systems associated with data processing enterprises generally include a localized print controller within the printing system. The print controller controls overall operation of the printing system including, for example, host interfacing, page description language interpretation, rasterizing, and lower level process control or interface features of the print engine associated with the printing system. Host interaction may include appropriate adapters for coupling the printing system to host systems utilizing one or more communication media and one or more communication protocols. Raw print jobs are received by the printing system from the attached host systems. The raw print jobs are generally encoded in the form of a page description language, such as PostScript, Hewlett-Packard PCL, Intelligent Printer Data Stream (IPDS), etc. In addition, raw print jobs may be encoded as simple character streams (ASCII) with no page description formatting associated therewith.
In whatever form the raw print job may be encoded or formatted, the print controller within the printing system interprets the received information to generate rasterized images of pages represented by the raw print job. Each rasterized page image generally comprises a 2-dimensional array of picture elements (“pixels”) that represent a corresponding formatted page of the raw print job. Each pixel may represent an encoded color value in accordance with the requirements of the particular raw print job encoding and the capabilities of the printing system on which the print job is to be printed. The process of interpreting the raw print job to generate corresponding rasterized page images is typically referred to as “ripping” and the sequences of rasterized pages may be referred to as a “ripped print job” or “rasterized print job”.
The print controller may then apply the ripped print job to a print engine (sometimes also referred to as an “imaging engine” or as a “marking engine”). The print engine then interacts with the imaging process to mark the printable medium (e.g., the sheet of paper) with the ripped pages provided by the print controller. For example, where the print engine is an electrophotographic imaging engine (e.g., a laser print engine), a laser or other optical imaging system transfers each ripped page through photosensitive materials to corresponding pixels on paper formed as particles of toner electrostatically transferred to the paper.
Because printing systems often receive print jobs in different encodings or protocols, such as PCL, PostScript, PDF, TIFF, JPEG, etc, it may be desirable to transform received print jobs to a common encoding used by the printing system. Transform processes convert incoming print jobs from one encoding to another encoding, possibly a proprietary encoding used in the printing system. The transform process tends to be compute-intensive and is thus often implemented using a parallel processing scheme. To allow for parallel processing of the print job, a typical transform process segments a received print job into work units that can be individually processed.
FIG. 1 illustrates a segmented print job in the prior art. A prior art segmenting process 104 receives a print job 102. Print job 102 includes a plurality of logical pages (PG) 1-X. Segmenting process 104 segments print job 102 into a plurality of work units 111-114. A work unit comprises a portion of data of a print job segmented for parallel processing. Each work unit 111-114 segmented by present segmenting processes 104 includes one logical page 1-X. For instance, work unit 111 includes logical page 1, work unit 112 includes logical page 2, etc.
Each work unit 111-114 will generally have some amount of overhead associated with processing the work unit, such as allocating resources to process the work unit, configuring the resources, scheduling, monitoring, etc. The overhead does not depend, or depends very little, on the contents of the work unit. In addition, once the work unit 111-114 has been scheduled, dispatched, and received by the process that will transform it, there may also be startup overhead. The amount of overhead processing is a problem in present transform systems.